﻿using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;

namespace FacialClub.Models.Entities
{
    /// <summary>
    /// Treatment
    /// </summary>
    [Bind(Include = "Treatment,IsActive,UserCreated,CreatedDate,UserModified,ModifiedDate")]
    [MetadataType(typeof(TreatmentMetaData))]
    public partial class Treatment
    {
        /// <summary>
        /// Treatment Meta Data for Validation
        /// </summary>
        [Bind(Exclude = "TreatmentId")]
        public class TreatmentMetaData
        {
            /// <summary>
            /// TreatmentId
            /// </summary>
            [ScaffoldColumn(false)]
            public object TreatmentId { get; set; }

            /// <summary>
            /// TreatmentTypeId
            /// </summary>
            [ScaffoldColumn(false)]
            public object TreatmentTypeId { get; set; }

            /// <summary>
            /// Treatment
            /// </summary>
            [Required(ErrorMessage = "Title is required")]
            [StringLength(160)]
            [DisplayName("Title")]
            public string Title { get; set; }

            /// <summary>
            /// Description
            /// </summary>
            [Required(ErrorMessage = "Description is required")]
            [StringLength(160)]
            [DisplayName("Description")]
            public string Description { get; set; }

            /// <summary>
            /// Duration
            /// </summary>
            [Required(ErrorMessage = "Duration is required")]
            [StringLength(160)]
            [DisplayName("Duration")]
            public string Duration { get; set; }

            /// <summary>
            /// Costing
            /// </summary>
            [Required(ErrorMessage = "Costing is required")]
            [StringLength(160)]
            [DisplayName("Costing")]
            public double Costing { get; set; }

            /// <summary>
            /// Product Service Code
            /// </summary>
            [Required(ErrorMessage = "Code is required")]
            [StringLength(160)]
            [DisplayName("Code")]
            public string ProductServiceCode { get; set; }

            /// <summary>
            /// Is visible to customer
            /// </summary>
            public bool IsCustomerVisible { get; set; }

            /// <summary>
            /// Is Taxable
            /// </summary>
            public bool IsTaxable { get; set; }

            /// <summary>
            /// Status of the Treatment
            /// </summary>
            public bool IsActive { get; set; }

            /// <summary>
            /// User Created
            /// </summary>
            public DateTime UserCreated { get; set; }

            /// <summary>
            /// Creation Date
            /// </summary>
            public DateTime CreatedDate { get; set; }

            /// <summary>
            /// User Modified
            /// </summary>
            public DateTime UserModified { get; set; }

            /// <summary>
            /// Modified Date
            /// </summary>
            public DateTime ModifiedDate { get; set; }
        }
    }
}